Skip to content

Misc v0.14 fixes#2860

Merged
sawka merged 4 commits intomainfrom
sawka/r14fixes
Feb 11, 2026
Merged

Misc v0.14 fixes#2860
sawka merged 4 commits intomainfrom
sawka/r14fixes

Conversation

@sawka
Copy link
Member

@sawka sawka commented Feb 11, 2026

  • Don't allow auto updater to downgrade
  • Kill shells with SIGHUP not SIGTERM
  • Fix old v0.13 references

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 11, 2026

Walkthrough

This pull request introduces changes across the update mechanism, shell execution framework, and onboarding UI. The updater is hardened to prevent version downgrades by disabling the allowDowngrade flag. The shell execution layer is extended with an IsShell parameter added to the CmdWrap struct and MakeCmdWrap function, propagating through multiple shell initialization paths to track whether a command represents a shell session. The onboarding page is updated from v0.13 to v0.14, including layout restructuring to display multiple feature badges horizontally and revised feature descriptions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Notes

The changes follow a coherent pattern across the shell execution layer, where the new isShell parameter is consistently threaded through multiple call sites. The onboarding modifications are primarily presentational. The overall scope spans four files with mixed concerns—configuration, structural updates, and UI adjustments—but the logic density remains moderate, with no intricate control flow or algorithmic complexity introduced.

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Misc v0.14 fixes' is vague and generic, using the non-descriptive term 'Misc' that doesn't convey meaningful information about the specific changes in the changeset. Consider a more specific title that highlights the primary change, such as 'Prevent updater downgrades and fix shell termination signals' or 'Upgrade to v0.14 with downgrade protection and SIGHUP shell handling'.
✅ Passed checks (1 passed)
Check name Status Explanation
Description check ✅ Passed The description is directly related to the changeset, clearly listing the three main changes: preventing downgrades, changing shell termination signal, and updating v0.13 references to v0.14.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch sawka/r14fixes

No actionable comments were generated in the recent review. 🎉

🧹 Recent nitpick comments
frontend/app/onboarding/onboarding-upgrade-minor.tsx (1)

134-161: Layout and feature copy look good overall; minor content note.

The two-badge horizontal layout and the new "Durable SSH Sessions" feature description are well-structured. One observation: the "Wave AI" badge uses text-[24px] (Line 136) while "Durable SSH Sessions" uses text-[18px] (Line 140). If the size difference is intentional for visual hierarchy, it works — just flagging in case it was accidental.

Also, Line 152 still says "New in v0.13" for the local models feature, which makes sense in a cumulative changelog approach, but verify this is the intended UX for users upgrading from v0.13 (they would have already seen this text in the v0.13 onboarding).

pkg/shellexec/conninterface.go (1)

86-109: SIGHUP for shells is semantically correct; minor style inconsistency.

Using SIGHUP for shell processes is the right choice — shells conventionally respond to SIGHUP by forwarding it to child processes and exiting cleanly, which is better than SIGTERM for interactive shell teardown.

Minor nit: Line 96 uses syscall.Kill(cw.Cmd.Process.Pid, syscall.SIGHUP) while Line 98 uses cw.Cmd.Process.Signal(syscall.SIGTERM). They are functionally equivalent, but using the same API style would be more consistent.

🔧 Use consistent API style
 	} else if cw.IsShell {
-		syscall.Kill(cw.Cmd.Process.Pid, syscall.SIGHUP)
+		cw.Cmd.Process.Signal(syscall.SIGHUP)
 	} else {

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sawka sawka merged commit fe71b37 into main Feb 11, 2026
6 of 7 checks passed
@sawka sawka deleted the sawka/r14fixes branch February 11, 2026 18:40
stevenwang288 pushed a commit to stevenwang288/waveterm that referenced this pull request Feb 15, 2026
* Don't allow auto updater to downgrade
* Kill shells with SIGHUP not SIGTERM
* Fix old v0.13 references
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant